Filtering is one of the most common operations in signal and image processing. However, implementing direct convolution operation is able to be very costly. For a 1D signal of length N and a convolution filter of width M, O(MN) operations are needed. This cost becomes increasingly prohibitive as the width of the convolution filter M increases. In the 2D case, the situation becomes even worse for large 2D convolution filters. To address the problems of filtering, Heckbert described a filtering method using repeated integration: Heckbert, “Filtering by Repeated Integration,” SIGGRAPH 1986. However, Heckbert's implementation still has several drawbacks to be addressed.